/*
 * Copyright 2008-2023 dexian.vip. All rights reserved.
 * Support: http://www.dexian.vip
 * License: http://www.dexian.vip/license
 */

package vip.dexian.admin.searcher;

import vip.dexian.common.query.Filter;
import vip.dexian.common.query.Order;
import vip.dexian.common.utils.FilterUtils;
import vip.dexian.core.base.query.BasePageableSearcher;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;

import java.util.List;

/**
 * 管理员分页搜索 表单数据
 *
 * @author 挺好的 2023年06月05日 08:45:00
 */
@Data
@EqualsAndHashCode (callSuper = false)
@Slf4j
public class AdminPageSearcher extends BasePageableSearcher {

    /**
     * 部门id
     */
    private Long departmentId;

    /**
     * 是否启用
     */
    private Boolean isEnabled;

    /**
     * 账户未锁定
     */
    private Boolean isAccountNonLocked;

    /**
     * 在filters方法中组合搜索条件
     *
     * @return 搜索条件
     */
    @Override
    public List <Filter> filters () {
        return FilterUtils.builder().equals("departmentId", this.departmentId)
                .isTrueOrFalse("isEnabled", this.isEnabled).isTrueOrFalse("isAccountNonLocked", this.isAccountNonLocked)
                .build();
    }

    /**
     * @return 排序
     */
    @Override
    public List <Order> orders () {
        return null;
    }

}
